package main

import (
	"errors"
	"fmt"
)

func test(num, num1 int) error {
	//defer func() {
	//	//使用recover内置函数捕获错误
	//	err := recover()
	//	//如果不等于nil则捕获错误    没有捕获到错误的话值默认值是零值：nil
	//	if err != nil {
	//		fmt.Println("捕获到的错误是：", err)
	//	}
	//}()
	if num1 == 0 {
		err := errors.New("除数不能等于0")
		//掉用panic函数，将函数停止，后面的程序将不再执行
		fmt.Println("aaaaaaaaaaaaaaaaaaaaaaaaaaa")
		//panic(err)
		return err
	}
	return nil
}

func main() {
	//i := new(int)
	//fmt.Printf("类型%T,数值%v地址%v指针指向的值%v", i, i, &i, *i)
	//fmt.Println()
	var num = 10
	var num1 = 0
	err := test(num, num1)
	if err != nil {
		fmt.Println(err)
		panic(err)
	}
	fmt.Println("bbbbbbbbbbbbbb")
}
